package apibasej.basic.config;


public class Prop<T> {

	//estas propriedades devem ser definidas através de constantes em interfaces
	
	private T defaultValue;
	
	private boolean allowsNull = false;// dificilmente terá algum caso em que tenha sentido alguma prop com valor null
	
	
	public Prop(T defaultValue) {
		this.defaultValue = defaultValue;
		//se defaultValue for null, deverá ter o valor setado no ConfigConsumer setado em algum ponto da aplicação
	}
	
	public Prop(T defaultValue, boolean allowsNull) {
		this.defaultValue = defaultValue;
		this.allowsNull = allowsNull;
	}

	public T getDefaultValue() {
		return defaultValue;
	}
	
	public boolean allowsNull() {
		return allowsNull;
	}
	
	@Override
	public boolean equals(Object obj) {
		return this==obj;
	}
	

	
}
